const express = require('express');
const app = express();
const path = require('path')
//处理body请求体的中间件
app.use(express.urlencoded())
app.use(express.json())




//处理body中间件
// app.use('/adduser', (req, res) => {
//     //声明一个变量 做累加
//     let dataStr = '';
//     //流式读取
//     req.on('data', (chunk) => {
//         // console.log(chunk.toString());
//         //form表单提交方式
//         dataStr += chunk.toString()
//     })

//     //读取完
//     req.on('end', () => {
// console.log("ok", dataStr);
// dataStr.split('&')//将字符串切割为数组
// const o = {};//准备一个空对象
// dataStr.split('&').forEach(item => {
//     const [key, value] = item.split('=');//'name','laoli'
//     o[key] = value;
// })
// console.log(o);{name:laoli,age:18}

//方式二
// const data = dataStr.split('&').reduce((prev, current) => {
//     const [key, value] = current.split('=')
//     prev[key] = value
//     // console.log(prev);
//     return prev;

// }, {})
// console.log(data);
// req.body = data;
// next()
//     })

// })







//查询学生信息接口
app.get('/user', (re, res) => {

    const {
        userId
    } = re.query;
    console.log({ userId });
    if (userId !== 001) {
        return res.send({
            code: 10001,
            msg: "查询失败",
            data: null
        })
    }
    res.send({
        code: 1000,
        msg: "查询成功",
        data: {
            name: '小美',
            age: 18,
            gender: '女'
        }

    })
})

app.post('/adduser', (re, res) => {

    const { name,
        age,
        gender
    } = re.body
    if (!name || !age || !gender) {
        return res.send({
            code: 10001,
            mes: '添加失败',
            data: null
        })
    }
    res.send({
        code: 1000,
        mes: '添加成功',
        data: null
    })
})



//静态资源部署接口
app.get('/1', (re, res) => {
    const filePath = path.resolve(__dirname, './02.基础的get请求.html')
    res.sendFile(filePath)
})

app.get('/2', (re, res) => {
    const filePath = path.resolve(__dirname, './03.get请求优化.html')
    res.sendFile(filePath)
})

app.get('/3', (re, res) => {
    const filePath = path.resolve(__dirname, './05.post请求.html')
    res.sendFile(filePath)
})

//监听
app.listen(8080, () => {
    console.log("服务器请求成功 请访问 http://127.0.0.1:8080");
})
